package com.study.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;

import lombok.NoArgsConstructor;

import java.util.Map;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private String code;
    private String message;
    private T data;

    //    快速返回成功结果（带响应数据）
    public static <E> Result<E> success(E data) {
        Result<E> result = new Result<>();
        result.setCode("200");
        result.setMessage("成功");
        result.setData(data);
        return result;
    }

    //    快速返回成功结果（不带响应数据）
    public static <E> Result<E> success() {
        Result<E> result = new Result<>();
        result.setCode("200");
        result.setMessage("成功");
        result.setData(null);
        return result;
    }

    //    快速返回失败结果
    public static <E> Result<E> error() {
        Result<E> result = new Result<>();
        result.setCode("500");
        result.setMessage("系统错误");
        return result;
    }

    //    快速返回失败结果
    public static <E> Result<E> error(String message, String code, E data) {
        Result<E> result = new Result<>();
        result.setCode(code);
        result.setMessage(message);
        result.setData(data);
        return result;
    }
}
